package com.pmenergy.model;
// Generated 19/09/2014 07:31:37 PM by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Proyecto generated by hbm2java
 */
@Entity
@Table(name = "PROYECTO", schema = "TECNOTREE")
public class Proyecto implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private BigDecimal proyectoId;
	private BigDecimal clienteId;
	private BigDecimal rucEmpresa;
	private String codigoCotizacion;
	private Date fechaEmision;
	private BigDecimal subtotal;
	private BigDecimal iva;
	private BigDecimal total;
	private String observaciones;
	private Set<Disciplina> disciplinas = new HashSet<Disciplina>(0);

	public Proyecto() {
	}

	public Proyecto(BigDecimal proyectoId, BigDecimal clienteId,
			BigDecimal rucEmpresa) {
		this.proyectoId = proyectoId;
		this.clienteId = clienteId;
		this.rucEmpresa = rucEmpresa;
	}

	public Proyecto(BigDecimal proyectoId, BigDecimal clienteId,
			BigDecimal rucEmpresa, String codigoCotizacion, Date fechaEmision,
			BigDecimal subtotal, BigDecimal iva, BigDecimal total,
			String observaciones, Set<Disciplina> disciplinas) {
		this.proyectoId = proyectoId;
		this.clienteId = clienteId;
		this.rucEmpresa = rucEmpresa;
		this.codigoCotizacion = codigoCotizacion;
		this.fechaEmision = fechaEmision;
		this.subtotal = subtotal;
		this.iva = iva;
		this.total = total;
		this.observaciones = observaciones;
		this.disciplinas = disciplinas;
	}

	@Id
	@Column(name = "PROYECTO_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public BigDecimal getProyectoId() {
		return this.proyectoId;
	}

	public void setProyectoId(BigDecimal proyectoId) {
		this.proyectoId = proyectoId;
	}

	@Column(name = "CLIENTE_ID", nullable = false, precision = 22, scale = 0)
	public BigDecimal getClienteId() {
		return this.clienteId;
	}

	public void setClienteId(BigDecimal clienteId) {
		this.clienteId = clienteId;
	}

	@Column(name = "RUC_EMPRESA", nullable = false, precision = 22, scale = 0)
	public BigDecimal getRucEmpresa() {
		return this.rucEmpresa;
	}

	public void setRucEmpresa(BigDecimal rucEmpresa) {
		this.rucEmpresa = rucEmpresa;
	}

	@Column(name = "CODIGO_COTIZACION", length = 20)
	public String getCodigoCotizacion() {
		return this.codigoCotizacion;
	}

	public void setCodigoCotizacion(String codigoCotizacion) {
		this.codigoCotizacion = codigoCotizacion;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA_EMISION", length = 7)
	public Date getFechaEmision() {
		return this.fechaEmision;
	}

	public void setFechaEmision(Date fechaEmision) {
		this.fechaEmision = fechaEmision;
	}

	@Column(name = "SUBTOTAL", precision = 22, scale = 0)
	public BigDecimal getSubtotal() {
		return this.subtotal;
	}

	public void setSubtotal(BigDecimal subtotal) {
		this.subtotal = subtotal;
	}

	@Column(name = "IVA", precision = 22, scale = 0)
	public BigDecimal getIva() {
		return this.iva;
	}

	public void setIva(BigDecimal iva) {
		this.iva = iva;
	}

	@Column(name = "TOTAL", precision = 22, scale = 0)
	public BigDecimal getTotal() {
		return this.total;
	}

	public void setTotal(BigDecimal total) {
		this.total = total;
	}

	@Column(name = "OBSERVACIONES", length = 100)
	public String getObservaciones() {
		return this.observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "proyecto")
	public Set<Disciplina> getDisciplinas() {
		return this.disciplinas;
	}

	public void setDisciplinas(Set<Disciplina> disciplinas) {
		this.disciplinas = disciplinas;
	}

}
